package com.rt.easyjava.base.biz1.service.intf;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rt.easyjava.base.biz1.bean.TmptBaseFileV1Biz;
import com.rt.easyjava.base.biz1.dto.TmptBaseFileV1BizDto;
import com.rt.easyjava.common.base.Result;
import com.rt.easyjava.common.service.IBaseService;

import java.io.Serializable;
import java.util.Map;


/**
 *  服务类
 * @author wuxiaoyong
 * @since 2021-04-06
 */
public interface TmptBaseFileV1BizService extends IBaseService<TmptBaseFileV1Biz, TmptBaseFileV1BizDto> {

    // ======================================================================
    // ========== 以下使用的是 Mybatis-plus 实现 ==============================
    // ======================================================================
    Result<TmptBaseFileV1BizDto> create(TmptBaseFileV1BizDto dto);

    Result<TmptBaseFileV1BizDto> update(TmptBaseFileV1BizDto TmptBaseFileV1BizDto, UpdateWrapper updateWrapper);

    Result<TmptBaseFileV1BizDto> page(Page<TmptBaseFileV1Biz> page, QueryWrapper<TmptBaseFileV1Biz> queryWrapper);

    Result<TmptBaseFileV1BizDto> selectBy(QueryWrapper<TmptBaseFileV1Biz> queryWrapper);

    Result<TmptBaseFileV1BizDto> selectById(Serializable id);

    Result<TmptBaseFileV1BizDto> selectDtoListByKey(String columnName, String key);

    // ======================================================================
    // ========== 以下使用的是自定义的 mapper.xml 实现 =========================
    // ======================================================================
    Result<TmptBaseFileV1BizDto> myPage(Page<TmptBaseFileV1Biz> page, QueryWrapper<TmptBaseFileV1Biz> queryWrapper, Boolean hasFooter);
    Result<TmptBaseFileV1BizDto> myPage(Page<TmptBaseFileV1Biz> page, QueryWrapper<TmptBaseFileV1Biz> queryWrapper);

    Result<TmptBaseFileV1BizDto> mySelectBy(QueryWrapper<TmptBaseFileV1Biz> queryWrapper);

    Result<TmptBaseFileV1BizDto> mySelectById(Serializable id);

    Result select4column(String columnName);

    /**
     * 删除历史文件
     * @param type
     * @return
     */
    Result deleteHisFile(Map<String, String> type);
    Result deleteHisFileTest();
}


